function move(obj, target, speed, attr, callback) {
    // 关闭上一个定时器
    clearInterval(obj.timer);
    // 获取当前的left值
    var currentvalue = parseInt(getstyle(obj, attr));
    // 判断速度
    // 从0-800则speed为正 从800-0则speed为负
    if (currentvalue > target) {
        speed = -speed;
    }
    console.log(speed);
    obj.timer = setInterval(function () {
        // 获取当前的left值
        var oldvalue = parseInt(getstyle(obj, attr));
        // 获取新的值
        var newvalue = oldvalue + speed;

        if (speed < 0 && newvalue < target || speed > 0 && newvalue > target) {
            newvalue = target;
        }
        obj.style[attr] = newvalue + "px";
        if (newvalue == target) {
            clearInterval(obj.timer);
            // 回调函数在程序执行完后才会产生效果
            // 如果有传回调函数则用没有就不用,此时需要做个判断不然会报错
            callback && callback();
        }

    }, 30);
}

function getstyle(obj, name) {
    if (window.getComputedStyle) {
        return getComputedStyle(obj, null)[name];
    } else {
        return obj.currentStyle[name];
    }
}

function autochange() {
    timer = setInterval(function () {
        index++;
        index %= imgarr.length;
        // 执行动画
        move(imglist, -840 * index, 50, "left", function () {
            // 设置a颜色的变化
            setA();
        });

    }, 3000);

}